A computer architecture determines the function, organization and implementation of computer systems. Computer architecture can involve instruction set architecture and memory architecture.
The most commonly used architecture for a computer is the Von Neumann architecture where data and instructions share the same memory. The memory and the registers are just a storage, and the meaning of their content is only decided by the use the processor wants and therefore by the program which is run.
The Harvard architecture physically separates storage of instructions and data, but the meaning of the data memory content is still decided by the processor.
Virtual memory mechanisms allow a processor to isolate memory allocated for each task. When executing at a higher privilege level, a program can do anything it wants to do including breaking the consistency of the memory. A bug in an operating system may lead to corruption or misinterpretation of information in the memory. A bug in a program can lead to corruption or misinterpretation of the task's memory.